package com.itheima.demo01;

import java.io.File;
import java.io.FileFilter;
import java.io.FilenameFilter;
import java.util.Arrays;

public class FileDemo02 {

    public static void main(String[] args) {
        //遍历文件

        //获取根目录盘符
        /*File[] files = File.listRoots();

        for (File file : files) {
            System.out.println(file);
        }*/

        /*File file = new File("D:\\Qt\\Qt5.12.0");

        File[] files = file.listFiles();
        for (File file1 : files) {
            if (file1.isFile() && file1.getName().endsWith(".xml")){
                System.out.println(file1);
            };
        }*/

       /* File file = new File("D:\\Qt\\Qt5.12.0");

        File[] files = file.listFiles(new FileFilter() {
            @Override
            public boolean accept(File pathname) { //pathname 表示完整的路径名称
                //只返回.xml格式的文件
                //返回值为false,表示不返回所有文件; 返回值为true,表示返回所有文件
                return pathname.isFile() && pathname.getName().endsWith(".xml");
            }
        });
        System.out.println(Arrays.toString(files));*/

        File file = new File("D:\\Qt\\Qt5.12.0");

        File[] files = file.listFiles(new FilenameFilter() {
            @Override
            public boolean accept(File dir, String name) { //dir 表示父级路径，name 表示子级路径
                //返回值为false,表示不返回所有文件; 返回值为true,表示返回所有文件
                //只返回.xml格式的文件
                File src = new File(dir, name);
                return src.isFile() && src.getName().endsWith(".xml");
            }
        });

        System.out.println(Arrays.toString(files));
    }
}
